<!DOCTYPE html>
<html lang="" xml:lang="">
<head>

  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <title>第 2 章 如何开始 | 生态统计学原理</title>
  <meta name="description" content="这是生态学统计基础的课程文件" />
  <meta name="generator" content="bookdown 0.40 and GitBook 2.6.7" />

  <meta property="og:title" content="第 2 章 如何开始 | 生态统计学原理" />
  <meta property="og:type" content="book" />
  
  <meta property="og:description" content="这是生态学统计基础的课程文件" />
  <meta name="github-repo" content="rstudio/bookdown-demo" />

  <meta name="twitter:card" content="summary" />
  <meta name="twitter:title" content="第 2 章 如何开始 | 生态统计学原理" />
  
  <meta name="twitter:description" content="这是生态学统计基础的课程文件" />
  

<meta name="author" content="沈国春、李勤，华东师范大学生态与环境科学学院" />



  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <meta name="apple-mobile-web-app-capable" content="yes" />
  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  
  
<link rel="prev" href="index.html"/>
<link rel="next" href="r语言基础.html"/>
<script src="libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/fuse.js@6.4.6/dist/fuse.min.js"></script>
<link href="libs/gitbook-2.6.7/css/style.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-table.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-bookdown.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-highlight.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-search.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-fontsettings.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-clipboard.css" rel="stylesheet" />








<link href="libs/anchor-sections-1.1.0/anchor-sections.css" rel="stylesheet" />
<link href="libs/anchor-sections-1.1.0/anchor-sections-hash.css" rel="stylesheet" />
<script src="libs/anchor-sections-1.1.0/anchor-sections.js"></script>


<style type="text/css">
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
  { counter-reset: source-line 0; }
pre.numberSource code > span
  { position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
  { content: counter(source-line);
    position: relative; left: -1em; text-align: right; vertical-align: baseline;
    border: none; display: inline-block;
    -webkit-touch-callout: none; -webkit-user-select: none;
    -khtml-user-select: none; -moz-user-select: none;
    -ms-user-select: none; user-select: none;
    padding: 0 4px; width: 4em;
    color: #aaaaaa;
  }
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
div.sourceCode
  {   }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { color: #008000; } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { color: #008000; font-weight: bold; } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>

<style type="text/css">
  
  div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
</style>

<link rel="stylesheet" href="style.css" type="text/css" />
</head>

<body>



  <div class="book without-animation with-summary font-size-2 font-family-1" data-basepath=".">

    <div class="book-summary">
      <nav role="navigation">

<ul class="summary">
<li><a href="./">生态统计学原理</a></li>

<li class="divider"></li>
<li class="chapter" data-level="1" data-path="index.html"><a href="index.html"><i class="fa fa-check"></i><b>1</b> 前言</a>
<ul>
<li class="chapter" data-level="1.1" data-path="index.html"><a href="index.html#为什么要学生态统计"><i class="fa fa-check"></i><b>1.1</b> 为什么要学生态统计</a></li>
<li class="chapter" data-level="1.2" data-path="index.html"><a href="index.html#为什么要学r语言"><i class="fa fa-check"></i><b>1.2</b> 为什么要学R语言</a></li>
<li class="chapter" data-level="1.3" data-path="index.html"><a href="index.html#如何使用和修改本书"><i class="fa fa-check"></i><b>1.3</b> 如何使用和修改本书</a></li>
<li class="chapter" data-level="1.4" data-path="index.html"><a href="index.html#课程助教"><i class="fa fa-check"></i><b>1.4</b> 课程助教</a></li>
</ul></li>
<li class="chapter" data-level="2" data-path="如何开始.html"><a href="如何开始.html"><i class="fa fa-check"></i><b>2</b> 如何开始</a>
<ul>
<li class="chapter" data-level="2.1" data-path="如何开始.html"><a href="如何开始.html#计算机的一些基本原理"><i class="fa fa-check"></i><b>2.1</b> 计算机的一些基本原理</a></li>
<li class="chapter" data-level="2.2" data-path="如何开始.html"><a href="如何开始.html#安装r程序"><i class="fa fa-check"></i><b>2.2</b> 安装R程序</a></li>
<li class="chapter" data-level="2.3" data-path="如何开始.html"><a href="如何开始.html#运行r程序"><i class="fa fa-check"></i><b>2.3</b> 运行R程序</a></li>
<li class="chapter" data-level="2.4" data-path="如何开始.html"><a href="如何开始.html#停止r程序"><i class="fa fa-check"></i><b>2.4</b> 停止R程序</a></li>
<li class="chapter" data-level="2.5" data-path="如何开始.html"><a href="如何开始.html#安装rstudio"><i class="fa fa-check"></i><b>2.5</b> 安装Rstudio</a></li>
<li class="chapter" data-level="2.6" data-path="如何开始.html"><a href="如何开始.html#获取帮助"><i class="fa fa-check"></i><b>2.6</b> 获取帮助</a>
<ul>
<li class="chapter" data-level="2.6.1" data-path="如何开始.html"><a href="如何开始.html#本地帮助文档"><i class="fa fa-check"></i><b>2.6.1</b> 本地帮助文档</a></li>
<li class="chapter" data-level="2.6.2" data-path="如何开始.html"><a href="如何开始.html#在线帮助"><i class="fa fa-check"></i><b>2.6.2</b> 在线帮助</a></li>
<li class="chapter" data-level="2.6.3" data-path="如何开始.html"><a href="如何开始.html#直接询问ai"><i class="fa fa-check"></i><b>2.6.3</b> 直接询问AI</a></li>
</ul></li>
<li class="chapter" data-level="2.7" data-path="如何开始.html"><a href="如何开始.html#r软件包"><i class="fa fa-check"></i><b>2.7</b> R软件包</a>
<ul>
<li class="chapter" data-level="2.7.1" data-path="如何开始.html"><a href="如何开始.html#使用r软件包"><i class="fa fa-check"></i><b>2.7.1</b> 使用R软件包</a></li>
<li class="chapter" data-level="2.7.2" data-path="如何开始.html"><a href="如何开始.html#r软件包内容"><i class="fa fa-check"></i><b>2.7.2</b> R软件包内容</a></li>
<li class="chapter" data-level="2.7.3" data-path="如何开始.html"><a href="如何开始.html#安装r软件包"><i class="fa fa-check"></i><b>2.7.3</b> 安装R软件包</a></li>
</ul></li>
<li class="chapter" data-level="2.8" data-path="如何开始.html"><a href="如何开始.html#安装其他功能"><i class="fa fa-check"></i><b>2.8</b> 安装其他功能</a>
<ul>
<li class="chapter" data-level="2.8.1" data-path="如何开始.html"><a href="如何开始.html#版本控制软件"><i class="fa fa-check"></i><b>2.8.1</b> 版本控制软件</a></li>
<li class="chapter" data-level="2.8.2" data-path="如何开始.html"><a href="如何开始.html#编写r软件包的辅助工具"><i class="fa fa-check"></i><b>2.8.2</b> 编写R软件包的辅助工具</a></li>
</ul></li>
<li class="chapter" data-level="2.9" data-path="如何开始.html"><a href="如何开始.html#获取本书资料"><i class="fa fa-check"></i><b>2.9</b> 获取本书资料</a>
<ul>
<li class="chapter" data-level="2.9.1" data-path="如何开始.html"><a href="如何开始.html#仅查看本书资料"><i class="fa fa-check"></i><b>2.9.1</b> 仅查看本书资料</a></li>
<li class="chapter" data-level="2.9.2" data-path="如何开始.html"><a href="如何开始.html#查看和修改本书资料"><i class="fa fa-check"></i><b>2.9.2</b> 查看和修改本书资料</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="3" data-path="r语言基础.html"><a href="r语言基础.html"><i class="fa fa-check"></i><b>3</b> R语言基础</a>
<ul>
<li class="chapter" data-level="3.1" data-path="r语言基础.html"><a href="r语言基础.html#重要的快捷键"><i class="fa fa-check"></i><b>3.1</b> 重要的快捷键</a></li>
<li class="chapter" data-level="3.2" data-path="r语言基础.html"><a href="r语言基础.html#基本数据类型"><i class="fa fa-check"></i><b>3.2</b> 基本数据类型</a>
<ul>
<li class="chapter" data-level="3.2.1" data-path="r语言基础.html"><a href="r语言基础.html#字符"><i class="fa fa-check"></i><b>3.2.1</b> 字符</a></li>
<li class="chapter" data-level="3.2.2" data-path="r语言基础.html"><a href="r语言基础.html#数字"><i class="fa fa-check"></i><b>3.2.2</b> 数字</a></li>
<li class="chapter" data-level="3.2.3" data-path="r语言基础.html"><a href="r语言基础.html#逻辑值"><i class="fa fa-check"></i><b>3.2.3</b> 逻辑值</a></li>
<li class="chapter" data-level="3.2.4" data-path="r语言基础.html"><a href="r语言基础.html#类型转换"><i class="fa fa-check"></i><b>3.2.4</b> 类型转换</a></li>
</ul></li>
<li class="chapter" data-level="3.3" data-path="r语言基础.html"><a href="r语言基础.html#数据运算"><i class="fa fa-check"></i><b>3.3</b> 数据运算</a>
<ul>
<li class="chapter" data-level="3.3.1" data-path="r语言基础.html"><a href="r语言基础.html#数字运算"><i class="fa fa-check"></i><b>3.3.1</b> 数字运算</a></li>
<li class="chapter" data-level="3.3.2" data-path="r语言基础.html"><a href="r语言基础.html#逻辑和关系运算"><i class="fa fa-check"></i><b>3.3.2</b> 逻辑和关系运算</a></li>
<li class="chapter" data-level="3.3.3" data-path="r语言基础.html"><a href="r语言基础.html#字符运算"><i class="fa fa-check"></i><b>3.3.3</b> 字符运算</a></li>
</ul></li>
<li class="chapter" data-level="3.4" data-path="r语言基础.html"><a href="r语言基础.html#常见运算函数"><i class="fa fa-check"></i><b>3.4</b> 常见运算函数</a></li>
<li class="chapter" data-level="3.5" data-path="r语言基础.html"><a href="r语言基础.html#变量"><i class="fa fa-check"></i><b>3.5</b> 变量</a>
<ul>
<li class="chapter" data-level="3.5.1" data-path="r语言基础.html"><a href="r语言基础.html#变量构造"><i class="fa fa-check"></i><b>3.5.1</b> 变量构造</a></li>
<li class="chapter" data-level="3.5.2" data-path="r语言基础.html"><a href="r语言基础.html#赋值"><i class="fa fa-check"></i><b>3.5.2</b> 赋值</a></li>
</ul></li>
<li class="chapter" data-level="3.6" data-path="r语言基础.html"><a href="r语言基础.html#逻辑控制"><i class="fa fa-check"></i><b>3.6</b> 逻辑控制</a>
<ul>
<li class="chapter" data-level="3.6.1" data-path="r语言基础.html"><a href="r语言基础.html#条件"><i class="fa fa-check"></i><b>3.6.1</b> 条件</a></li>
<li class="chapter" data-level="3.6.2" data-path="r语言基础.html"><a href="r语言基础.html#循环"><i class="fa fa-check"></i><b>3.6.2</b> 循环</a></li>
</ul></li>
<li class="chapter" data-level="3.7" data-path="r语言基础.html"><a href="r语言基础.html#容器"><i class="fa fa-check"></i><b>3.7</b> 容器</a>
<ul>
<li class="chapter" data-level="3.7.1" data-path="r语言基础.html"><a href="r语言基础.html#向量"><i class="fa fa-check"></i><b>3.7.1</b> 向量</a></li>
<li class="chapter" data-level="3.7.2" data-path="r语言基础.html"><a href="r语言基础.html#矩阵"><i class="fa fa-check"></i><b>3.7.2</b> 矩阵</a></li>
<li class="chapter" data-level="3.7.3" data-path="r语言基础.html"><a href="r语言基础.html#数据框"><i class="fa fa-check"></i><b>3.7.3</b> 数据框</a></li>
<li class="chapter" data-level="3.7.4" data-path="r语言基础.html"><a href="r语言基础.html#列表"><i class="fa fa-check"></i><b>3.7.4</b> 列表</a></li>
</ul></li>
<li class="chapter" data-level="3.8" data-path="r语言基础.html"><a href="r语言基础.html#函数"><i class="fa fa-check"></i><b>3.8</b> 函数</a>
<ul>
<li class="chapter" data-level="3.8.1" data-path="r语言基础.html"><a href="r语言基础.html#函数的判别"><i class="fa fa-check"></i><b>3.8.1</b> 函数的判别</a></li>
<li class="chapter" data-level="3.8.2" data-path="r语言基础.html"><a href="r语言基础.html#函数的定义"><i class="fa fa-check"></i><b>3.8.2</b> 函数的定义</a></li>
</ul></li>
<li class="chapter" data-level="3.9" data-path="r语言基础.html"><a href="r语言基础.html#作业"><i class="fa fa-check"></i><b>3.9</b> 作业</a></li>
</ul></li>
<li class="chapter" data-level="4" data-path="常见生态数据及问题.html"><a href="常见生态数据及问题.html"><i class="fa fa-check"></i><b>4</b> 常见生态数据及问题</a></li>
<li class="chapter" data-level="5" data-path="数理统计基础.html"><a href="数理统计基础.html"><i class="fa fa-check"></i><b>5</b> 数理统计基础</a>
<ul>
<li class="chapter" data-level="5.0.1" data-path="数理统计基础.html"><a href="数理统计基础.html#协方差"><i class="fa fa-check"></i><b>5.0.1</b> 协方差</a></li>
<li class="chapter" data-level="5.0.2" data-path="数理统计基础.html"><a href="数理统计基础.html#偏相关系数"><i class="fa fa-check"></i><b>5.0.2</b> 偏相关系数</a></li>
</ul></li>
<li class="chapter" data-level="6" data-path="数据探索性分析.html"><a href="数据探索性分析.html"><i class="fa fa-check"></i><b>6</b> 数据探索性分析</a>
<ul>
<li class="chapter" data-level="6.1" data-path="数据探索性分析.html"><a href="数据探索性分析.html#初步探索分析"><i class="fa fa-check"></i><b>6.1</b> 初步探索分析</a>
<ul>
<li class="chapter" data-level="6.1.1" data-path="数据探索性分析.html"><a href="数据探索性分析.html#异常值和缺失值"><i class="fa fa-check"></i><b>6.1.1</b> 异常值和缺失值</a></li>
<li class="chapter" data-level="6.1.2" data-path="数据探索性分析.html"><a href="数据探索性分析.html#理解数据"><i class="fa fa-check"></i><b>6.1.2</b> 理解数据</a></li>
</ul></li>
<li class="chapter" data-level="6.2" data-path="数据探索性分析.html"><a href="数据探索性分析.html#排序"><i class="fa fa-check"></i><b>6.2</b> 排序</a>
<ul>
<li class="chapter" data-level="6.2.1" data-path="数据探索性分析.html"><a href="数据探索性分析.html#排序的原理"><i class="fa fa-check"></i><b>6.2.1</b> 排序的原理</a></li>
<li class="chapter" data-level="6.2.2" data-path="数据探索性分析.html"><a href="数据探索性分析.html#排序基本原理"><i class="fa fa-check"></i><b>6.2.2</b> 排序基本原理</a></li>
<li class="chapter" data-level="6.2.3" data-path="数据探索性分析.html"><a href="数据探索性分析.html#主成分分析"><i class="fa fa-check"></i><b>6.2.3</b> 主成分分析</a></li>
<li class="chapter" data-level="6.2.4" data-path="数据探索性分析.html"><a href="数据探索性分析.html#对应分析"><i class="fa fa-check"></i><b>6.2.4</b> 对应分析</a></li>
<li class="chapter" data-level="6.2.5" data-path="数据探索性分析.html"><a href="数据探索性分析.html#常用的几种排序分析"><i class="fa fa-check"></i><b>6.2.5</b> 常用的几种排序分析</a></li>
</ul></li>
<li class="chapter" data-level="6.3" data-path="数据探索性分析.html"><a href="数据探索性分析.html#聚类"><i class="fa fa-check"></i><b>6.3</b> 聚类</a>
<ul>
<li class="chapter" data-level="6.3.1" data-path="数据探索性分析.html"><a href="数据探索性分析.html#层次聚类"><i class="fa fa-check"></i><b>6.3.1</b> 层次聚类</a></li>
<li class="chapter" data-level="6.3.2" data-path="数据探索性分析.html"><a href="数据探索性分析.html#非层次聚类"><i class="fa fa-check"></i><b>6.3.2</b> 非层次聚类</a></li>
<li class="chapter" data-level="6.3.3" data-path="数据探索性分析.html"><a href="数据探索性分析.html#多元回归树"><i class="fa fa-check"></i><b>6.3.3</b> 多元回归树</a></li>
<li class="chapter" data-level="6.3.4" data-path="数据探索性分析.html"><a href="数据探索性分析.html#顺序聚类"><i class="fa fa-check"></i><b>6.3.4</b> 顺序聚类</a></li>
</ul></li>
<li class="chapter" data-level="6.4" data-path="数据探索性分析.html"><a href="数据探索性分析.html#作业-1"><i class="fa fa-check"></i><b>6.4</b> 作业</a></li>
</ul></li>
<li class="chapter" data-level="7" data-path="实验设计.html"><a href="实验设计.html"><i class="fa fa-check"></i><b>7</b> 实验设计</a></li>
<li class="chapter" data-level="8" data-path="经典统计检验.html"><a href="经典统计检验.html"><i class="fa fa-check"></i><b>8</b> 经典统计检验</a></li>
<li class="chapter" data-level="9" data-path="回归分析.html"><a href="回归分析.html"><i class="fa fa-check"></i><b>9</b> 回归分析</a>
<ul>
<li class="chapter" data-level="9.1" data-path="回归分析.html"><a href="回归分析.html#一元回归"><i class="fa fa-check"></i><b>9.1</b> 一元回归</a>
<ul>
<li class="chapter" data-level="9.1.1" data-path="回归分析.html"><a href="回归分析.html#一元线性模型"><i class="fa fa-check"></i><b>9.1.1</b> 一元线性模型</a></li>
<li class="chapter" data-level="9.1.2" data-path="回归分析.html"><a href="回归分析.html#类型变量"><i class="fa fa-check"></i><b>9.1.2</b> 类型变量</a></li>
<li class="chapter" data-level="9.1.3" data-path="回归分析.html"><a href="回归分析.html#多项式回归"><i class="fa fa-check"></i><b>9.1.3</b> 多项式回归</a></li>
</ul></li>
<li class="chapter" data-level="9.2" data-path="回归分析.html"><a href="回归分析.html#多元回归"><i class="fa fa-check"></i><b>9.2</b> 多元回归</a>
<ul>
<li class="chapter" data-level="9.2.1" data-path="回归分析.html"><a href="回归分析.html#变量筛选"><i class="fa fa-check"></i><b>9.2.1</b> 变量筛选</a></li>
<li class="chapter" data-level="9.2.2" data-path="回归分析.html"><a href="回归分析.html#因子之间的相对重要性"><i class="fa fa-check"></i><b>9.2.2</b> 因子之间的相对重要性</a></li>
<li class="chapter" data-level="9.2.3" data-path="回归分析.html"><a href="回归分析.html#模型诊断"><i class="fa fa-check"></i><b>9.2.3</b> 模型诊断</a></li>
<li class="chapter" data-level="9.2.4" data-path="回归分析.html"><a href="回归分析.html#包含类型变量的多元回归"><i class="fa fa-check"></i><b>9.2.4</b> 包含类型变量的多元回归</a></li>
</ul></li>
<li class="chapter" data-level="9.3" data-path="回归分析.html"><a href="回归分析.html#广义线性回归"><i class="fa fa-check"></i><b>9.3</b> 广义线性回归</a>
<ul>
<li class="chapter" data-level="9.3.1" data-path="回归分析.html"><a href="回归分析.html#目前的困境"><i class="fa fa-check"></i><b>9.3.1</b> 目前的困境</a></li>
<li class="chapter" data-level="9.3.2" data-path="回归分析.html"><a href="回归分析.html#理论扩展"><i class="fa fa-check"></i><b>9.3.2</b> 理论扩展</a></li>
<li class="chapter" data-level="9.3.3" data-path="回归分析.html"><a href="回归分析.html#binary数据例子"><i class="fa fa-check"></i><b>9.3.3</b> binary数据例子</a></li>
<li class="chapter" data-level="9.3.4" data-path="回归分析.html"><a href="回归分析.html#展示回归结果"><i class="fa fa-check"></i><b>9.3.4</b> 展示回归结果</a></li>
</ul></li>
<li class="chapter" data-level="9.4" data-path="回归分析.html"><a href="回归分析.html#混合效应模型"><i class="fa fa-check"></i><b>9.4</b> 混合效应模型</a></li>
<li class="chapter" data-level="9.5" data-path="回归分析.html"><a href="回归分析.html#结构方程"><i class="fa fa-check"></i><b>9.5</b> 结构方程</a></li>
<li class="chapter" data-level="9.6" data-path="回归分析.html"><a href="回归分析.html#作业-2"><i class="fa fa-check"></i><b>9.6</b> 作业</a></li>
</ul></li>
<li class="chapter" data-level="10" data-path="谱系分析.html"><a href="谱系分析.html"><i class="fa fa-check"></i><b>10</b> 谱系分析</a></li>
<li class="chapter" data-level="11" data-path="时间序列分析.html"><a href="时间序列分析.html"><i class="fa fa-check"></i><b>11</b> 时间序列分析</a></li>
<li class="chapter" data-level="12" data-path="空间分析.html"><a href="空间分析.html"><i class="fa fa-check"></i><b>12</b> 空间分析</a></li>
<li class="chapter" data-level="13" data-path="网络分析.html"><a href="网络分析.html"><i class="fa fa-check"></i><b>13</b> 网络分析</a>
<ul>
<li class="chapter" data-level="13.1" data-path="网络分析.html"><a href="网络分析.html#物种共现网络"><i class="fa fa-check"></i><b>13.1</b> 物种共现网络</a></li>
</ul></li>
<li class="chapter" data-level="14" data-path="宏分析.html"><a href="宏分析.html"><i class="fa fa-check"></i><b>14</b> 宏分析</a></li>
<li class="divider"></li>
<li><a href="https://faculty.ecnu.edu.cn/_s31/sgc/main.psp" target="blank">个人主页</a></li>

</ul>

      </nav>
    </div>

    <div class="book-body">
      <div class="body-inner">
        <div class="book-header" role="navigation">
          <h1>
            <i class="fa fa-circle-o-notch fa-spin"></i><a href="./">生态统计学原理</a>
          </h1>
        </div>

        <div class="page-wrapper" tabindex="-1" role="main">
          <div class="page-inner">

            <section class="normal" id="section-">
<div id="如何开始" class="section level1 hasAnchor" number="2">
<h1><span class="header-section-number">第 2 章</span> 如何开始<a href="如何开始.html#如何开始" class="anchor-section" aria-label="Anchor link to header"></a></h1>
<div id="计算机的一些基本原理" class="section level2 hasAnchor" number="2.1">
<h2><span class="header-section-number">2.1</span> 计算机的一些基本原理<a href="如何开始.html#计算机的一些基本原理" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<ol style="list-style-type: decimal">
<li><p>计算机是很笨的</p></li>
<li><p>解决计算机相关的问题，最好的办法是重来一遍。</p></li>
</ol>
</div>
<div id="安装r程序" class="section level2 hasAnchor" number="2.2">
<h2><span class="header-section-number">2.2</span> 安装R程序<a href="如何开始.html#安装r程序" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>我假设你已经拥有一台个人电脑或是苹果电脑，并且你希望在硬盘上安装R软件。如果你能够连接到互联网，那么安装过程将会非常简单。首先，请访问一个名为CRAN的网站（CRAN是Comprehensive R Archive Network 的缩写）。你可以直接在浏览器中输入如下完整网址：</p>
<p><a href="http://cran.r-project.org/" class="uri">http://cran.r-project.org/</a></p>
<p>或者在Bing搜索引擎中输入“R”，这样也可以轻松跳转到该网站。一旦你进入了CRAN网站，你需要找到“下载并安装R”的选项，并选择适合你电脑系统的预编译二进制版本进行安装。在选择的过程中，你可以根据自己的电脑系统（Linux、Mac OS或Windows）进行点击选择，并遵循网站提供的详细指导步骤。在此过程中，你需要下载并安装“基础”软件包，并运行安装程序，该程序的名称可能类似于R.exe（对于个人电脑）或R.dmg（对于苹果电脑）。</p>
<p>如果网上过慢，可以直接去下面链接获取。在资源浏览器，输入下面的地址，就能找到安装文件。</p>
<p><a href="file://teacher305/Users/stu/Desktop/R" class="uri">file://teacher305/Users/stu/Desktop/R</a></p>
<p>当系统提示你时，请选择“运行”该文件，而不是“保存”。接下来，你只需坐等安装完成。如果你无法连接到互联网，可以请朋友帮忙下载R软件，然后将其复制到CD或U盘上供你使用。</p>
</div>
<div id="运行r程序" class="section level2 hasAnchor" number="2.3">
<h2><span class="header-section-number">2.3</span> 运行R程序<a href="如何开始.html#运行r程序" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>想要运行R语言，只需轻松点击R图标即可。如果找不到图标，别担心，进入“程序”菜单，在里面找到R文件夹，再点击R图标就行了。当你启动R后，首先映入眼帘的会是R的版本号和发布日期。建议你时常访问CRAN网站，以确保你的R语言版本始终是最新的。如果你目前用的是旧版本，那么在下载新版本前，最好先将旧版本卸载。</p>
<p>在软件的页眉部分，你会看到一条声明，表明这款免费软件不提供任何形式的担保。同时，这里也列出了所有为R语言做出贡献的人士。其中，特别值得关注的是citation()部分，它会指导你如何在学术作品中正确引用R语言。</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="如何开始.html#cb1-1" tabindex="-1"></a><span class="fu">citation</span>()</span></code></pre></div>
<pre><code>## To cite R in publications use:
## 
##   R Core Team (2024). _R: A Language and Environment for Statistical
##   Computing_. R Foundation for Statistical Computing, Vienna, Austria.
##   &lt;https://www.R-project.org/&gt;.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {R: A Language and Environment for Statistical Computing},
##     author = {{R Core Team}},
##     organization = {R Foundation for Statistical Computing},
##     address = {Vienna, Austria},
##     year = {2024},
##     url = {https://www.R-project.org/},
##   }
## 
## We have invested a lot of time and effort in creating R, please cite it
## when using it for data analysis. See also &#39;citation(&quot;pkgname&quot;)&#39; for
## citing R packages.</code></pre>
<p>R语言的开发团队付出了巨大的努力，因此，每当我们使用R语言完成研究并发表成果时，都应该向他们表示由衷的感谢。</p>
<p>在页眉下方，你会看到一个左侧带有“&gt;”符号的空白行，这就是命令提示符，它在询问你：“接下来需要我为你做什么？”你可以在这里输入各种命令。</p>
<p>在使用过程中，你可能会注意到屏幕左侧有时会出现“+”而非“&gt;”，这表示你刚刚输入的命令还不完整。</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb3-1"><a href="如何开始.html#cb3-1" tabindex="-1"></a><span class="fu">print</span>(<span class="st">&quot;hello </span></span>
<span id="cb3-2"><a href="如何开始.html#cb3-2" tabindex="-1"></a><span class="st">+ </span></span></code></pre></div>
<p>这通常是因为遗漏了一些括号、配对的引号等符号。如果你能找出遗漏的部分，比如一个右括号，只需补充完整并按下回车键，命令就会立即执行。如果输入有误，按下Esc键即可重置，命令提示符“&gt;”会再次出现。</p>
<p>此时，你可以使用向上箭头键找回刚才输入的命令，并用左右箭头键进行修正。</p>
</div>
<div id="停止r程序" class="section level2 hasAnchor" number="2.4">
<h2><span class="header-section-number">2.4</span> 停止R程序<a href="如何开始.html#停止r程序" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>如果由于其他原因，要停止正在运行的程序。有以下几种方法：</p>
<ol style="list-style-type: decimal">
<li><p>按ESC键。这个方法一般能解决问题。如果不行参考第二条；</p></li>
<li><p>鼠标移动到RGui的工具栏的红色Stop按钮，点击后一般情况下就能停止当前运行的R命令。</p></li>
</ol>
</div>
<div id="安装rstudio" class="section level2 hasAnchor" number="2.5">
<h2><span class="header-section-number">2.5</span> 安装Rstudio<a href="如何开始.html#安装rstudio" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>RStudio是一个集成开发环境（IDE），专门为R语言设计。它提供了丰富的功能，包括语法高亮、代码编辑、调试、可视化等，使得R语言的使用者能够更方便地进行数据分析、统计计算和图形绘制。</p>
<p>关于如何安装RStudio，可以按照以下步骤进行：</p>
<ol style="list-style-type: decimal">
<li>下载RStudio安装包：
<ul>
<li>首先，访问RStudio的官方网站（<a href="https://www.rstudio.com/" class="uri">https://www.rstudio.com/</a>）。</li>
<li>在网站上找到并点击“Download”或类似的下载按钮。</li>
<li>根据自己的操作系统（如Windows、macOS、Linux等）选择相应的安装包进行下载。</li>
</ul></li>
<li>安装RStudio：
<ul>
<li>下载完成后，双击安装包开始安装过程。</li>
<li>遵循安装向导的指示，选择安装位置和相关设置。</li>
<li>注意，安装路径中最好不要包含中文或空格，以避免可能出现的问题。</li>
<li>完成安装后，可以选择是否创建桌面快捷方式，以便日后快速启动RStudio。</li>
</ul></li>
<li>运行和配置RStudio：
<ul>
<li>安装完成后，打开RStudio。</li>
<li>如果是首次安装，RStudio可能会提示你选择R语言的安装路径。确保指向你之前安装的R语言目录。</li>
<li>根据需要配置RStudio的设置，如字体大小、颜色主题等。</li>
</ul></li>
<li>验证安装：
<ul>
<li>在RStudio中打开一个新的R脚本或控制台。</li>
<li>输入简单的R代码（如print(“Hello, World!”)）并运行，以验证RStudio是否正常工作。</li>
</ul></li>
</ol>
<p>请注意，在安装RStudio之前，建议先安装R语言本身，因为RStudio是基于R语言的一个开发工具。此外，确保在安装过程中遵循所有相关的系统要求和指南，以确保安装过程顺利进行。</p>
</div>
<div id="获取帮助" class="section level2 hasAnchor" number="2.6">
<h2><span class="header-section-number">2.6</span> 获取帮助<a href="如何开始.html#获取帮助" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<div id="本地帮助文档" class="section level3 hasAnchor" number="2.6.1">
<h3><span class="header-section-number">2.6.1</span> 本地帮助文档<a href="如何开始.html#本地帮助文档" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>在R语言中寻求帮助十分简单。最直接的方法就是点击R图形窗口工具栏上的“帮助”按钮。当然，如果你已经联网，还可以直接在搜索引擎中输入CRAN，查找你需要的帮助信息。但如果你明确知道想要了解的函数名称，只需在命令行中输入一个问号“?”后跟上函数名即可。比如说，想要获取关于“library”函数的帮助，只需键入：</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="如何开始.html#cb4-1" tabindex="-1"></a>?library</span></code></pre></div>
<p>在出现的帮助页面上，有library函数的详细介绍。包括针对该函数总结性描述的<strong>Description</strong>、展示函数调用方式的<strong>Usage</strong>、包含每个参数的具体说明的<strong>Arguments</strong>和有关该函数的详细说明<strong>Details</strong>、返回值数据格式的<strong>Value</strong>、相关文献<strong>References</strong>，还有包含使用实例的<strong>Examples</strong>。</p>
<p>有时，我们可能无法准确回忆起函数的名称，但清楚自己需要哪方面的帮助（例如，关于data input的问题）。这时，你可以利用“help.search”功能，无需添加问号，只需将查询关键词放入双引号中，像这样：</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb5-1"><a href="如何开始.html#cb5-1" tabindex="-1"></a><span class="fu">help.search</span>(<span class="st">&quot;data input&quot;</span>)</span></code></pre></div>
<p>如果一切顺利，屏幕上将显示出与查询关键词相关的R函数名称。随后，你就可以通过“?函数名”的方式获取详细信息了。此外，R语言还提供了“find”和“apropos”等实用函数。“find”函数能帮你定位某个特定功能所在的软件包：</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb6-1"><a href="如何开始.html#cb6-1" tabindex="-1"></a><span class="fu">find</span>(<span class="st">&quot;lowess&quot;</span>)</span></code></pre></div>
<pre><code>## [1] &quot;package:stats&quot;</code></pre>
<p>而“apropos”函数则会返回一个字符向量，列出搜索列表中所有与你查询内容（即使是部分关键词）相匹配的对象名称。</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb8-1"><a href="如何开始.html#cb8-1" tabindex="-1"></a><span class="fu">apropos</span>(<span class="st">&quot;lm&quot;</span>)</span></code></pre></div>
<pre><code>##  [1] &quot;.colMeans&quot;       &quot;.lm.fit&quot;         &quot;colMeans&quot;        &quot;confint.lm&quot;     
##  [5] &quot;contr.helmert&quot;   &quot;dummy.coef.lm&quot;   &quot;glm&quot;             &quot;glm.control&quot;    
##  [9] &quot;glm.fit&quot;         &quot;KalmanForecast&quot;  &quot;KalmanLike&quot;      &quot;KalmanRun&quot;      
## [13] &quot;KalmanSmooth&quot;    &quot;kappa.lm&quot;        &quot;lm&quot;              &quot;lm.fit&quot;         
## [17] &quot;lm.influence&quot;    &quot;lm.wfit&quot;         &quot;model.matrix.lm&quot; &quot;nlm&quot;            
## [21] &quot;nlminb&quot;          &quot;predict.glm&quot;     &quot;predict.lm&quot;      &quot;residuals.glm&quot;  
## [25] &quot;residuals.lm&quot;    &quot;summary.glm&quot;     &quot;summary.lm&quot;</code></pre>
</div>
<div id="在线帮助" class="section level3 hasAnchor" number="2.6.2">
<h3><span class="header-section-number">2.6.2</span> 在线帮助<a href="如何开始.html#在线帮助" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>网络上关于R语言的信息非常丰富，但CRAN（<a href="http://cran.r-project.org/" class="uri">http://cran.r-project.org/</a>） 往往是初学者的首选资源站点。在CRAN上，你能找到各式各样的R语言手册，帮助你深入了解和学习R语言：</p>
<ul>
<li>《R语言介绍》让你对R语言有个初步了解，并教会你如何利用R语言进行统计分析和图形制作。</li>
<li>《R语言定义（草案）》则深入剖析了R语言的内在机制，包括其操作的对象以及表达式评估的具体过程，对于想要编程开发R函数的用户来说极为有用。</li>
<li>如果你对扩展R语言的功能感兴趣，《编写R扩展》会指导你如何创建自定义的包、撰写R语言的帮助文档，以及如何利用C、C++、Fortran等编程语言与R进行交互。</li>
<li>《R数据导入/导出》则详细阐述了如何在R语言环境中或通过CRAN上的扩展包进行数据导入和导出操作。</li>
<li>关于R语言的安装和管理问题，你可以在《R安装与管理》手册中找到详尽的解答。</li>
<li>另一本重要的手册是《R：统计计算的语言和环境》（网站上称为“R参考索引”），它集合了所有R语言标准包和推荐包的帮助文档，方便用户打印学习。</li>
</ul>
<p>同时，这些手册内容也可直接在R语言环境中通过菜单栏的“帮助/手册（PDF格式）”选项查阅。此外，CRAN还提供了常见问题解答（FAQ）和R新闻，后者分享了诸多精彩文章、书评以及R语言未来的更新动态。</p>
<p>不过，CRAN最具价值的部分莫过于其搜索功能，它能帮助用户轻松检索到大多数R语言文档、函数以及邮件存档中的相关内容。</p>
</div>
<div id="直接询问ai" class="section level3 hasAnchor" number="2.6.3">
<h3><span class="header-section-number">2.6.3</span> 直接询问AI<a href="如何开始.html#直接询问ai" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>在人工智能日益精进的今天，我们可以直接向诸如文心一言等大型语言模型提问，它们通常会提供具有针对性的解答。然而，值得注意的是，这些大型模型也有可能出错。因此，在处理关键性分析时，建议在使用大预言模型提供的建议后，再结合之前提到的方法，仔细查阅相关帮助文档，以确保准确无误。这样做可以有效避免潜在的错误，提高分析的准确性。</p>
</div>
</div>
<div id="r软件包" class="section level2 hasAnchor" number="2.7">
<h2><span class="header-section-number">2.7</span> R软件包<a href="如何开始.html#r软件包" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>在R语言中，软件包是一个集合，它囊括了函数、数据和文档。你可以将这些软件包加载到你的R语言环境中，以增强和扩展R的功能。简单来说，它们就像是预先构建好的工具箱，里面配备了针对各种任务的专业工具和资源。</p>
<p>软件包的核心组成部分有三个：</p>
<ul>
<li><p>函数：这些是软件包的基石。函数能执行特定的计算或操作，使得复杂的数据处理和分析变得简单快捷。</p></li>
<li><p>数据：很多软件包都会附带一些数据集，这些数据集既可以用于实际的数据分析，也可以作为示例数据，帮助用户更快地理解函数的使用方法。</p></li>
<li><p>文档：每个软件包都配有详细的文档，指导用户如何使用这个软件包中的函数和数据。这些文档通常包含了函数的详细说明、使用示例以及可能遇到的问题解决方案。</p></li>
</ul>
<p>使用R语言的软件包，你可以享受到多重好处。软件包提供了大量现成的函数和数据集，这意味着你无需从零开始编写代码，从而节省了大量时间。软件包通常由经验丰富的开发者创建和维护，它们经过了严格的测试，确保功能的稳定性和准确性。许多软件包背后都有活跃的社区支持。如果你在使用过程中遇到问题，社区成员往往能提供及时的帮助和解决方案。此外，社区还会分享额外的资源和教程，帮助你更好地利用软件包。</p>
<div id="使用r软件包" class="section level3 hasAnchor" number="2.7.1">
<h3><span class="header-section-number">2.7.1</span> 使用R软件包<a href="如何开始.html#使用r软件包" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>要使用软件包内的功能非常简单，只需要用library函数加载包到R环境中就行。例如，我们要加载spatial包，那么，只需要执行</p>
<div class="sourceCode" id="cb10"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb10-1"><a href="如何开始.html#cb10-1" tabindex="-1"></a><span class="fu">library</span>(spatial)</span></code></pre></div>
</div>
<div id="r软件包内容" class="section level3 hasAnchor" number="2.7.2">
<h3><span class="header-section-number">2.7.2</span> R软件包内容<a href="如何开始.html#r软件包内容" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>使用帮助功能来探索库包的内容非常简单。下面是如何查找spatial库中的内容：</p>
<p>首先，输入以下命令：</p>
<div class="sourceCode" id="cb11"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb11-1"><a href="如何开始.html#cb11-1" tabindex="-1"></a><span class="fu">library</span>(<span class="at">help=</span>spatial)</span></code></pre></div>
<p>执行后，系统会列出该库中所有的函数和数据集。如果你想查看库的完整内容列表，可以使用search()函数配合objects命令，像这样操作：</p>
<div class="sourceCode" id="cb12"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb12-1"><a href="如何开始.html#cb12-1" tabindex="-1"></a><span class="fu">objects</span>(<span class="fu">grep</span>(<span class="st">&quot;spatial&quot;</span>, <span class="fu">search</span>()))</span></code></pre></div>
<pre><code>##  [1] &quot;anova.trls&quot;     &quot;anovalist.trls&quot; &quot;correlogram&quot;    &quot;expcov&quot;        
##  [5] &quot;gaucov&quot;         &quot;Kaver&quot;          &quot;Kenvl&quot;          &quot;Kfn&quot;           
##  [9] &quot;plot.trls&quot;      &quot;ppgetregion&quot;    &quot;ppinit&quot;         &quot;pplik&quot;         
## [13] &quot;ppregion&quot;       &quot;predict.trls&quot;   &quot;prmat&quot;          &quot;Psim&quot;          
## [17] &quot;semat&quot;          &quot;sphercov&quot;       &quot;SSI&quot;            &quot;Strauss&quot;       
## [21] &quot;surf.gls&quot;       &quot;surf.ls&quot;        &quot;trls.influence&quot; &quot;trmat&quot;         
## [25] &quot;variogram&quot;</code></pre>
<p>执行上述命令后，你将看到spatial库中所有对象的列表。</p>
<p>接下来，如果你想了解某个特定函数或数据集的使用方法，例如Ripley的K函数（Kfn），只需输入：</p>
<div class="sourceCode" id="cb14"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb14-1"><a href="如何开始.html#cb14-1" tabindex="-1"></a>?Kfn</span></code></pre></div>
<p>系统就会显示关于Kfn函数的详细帮助信息。</p>
</div>
<div id="安装r软件包" class="section level3 hasAnchor" number="2.7.3">
<h3><span class="header-section-number">2.7.3</span> 安装R软件包<a href="如何开始.html#安装r软件包" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>基础软件包并不包含本书中提到的一些库，但下载这些库非常简单。运行R程序，然后从命令行使用install.packages函数下载你想要的库。系统会要求你选择离你最近的镜像以加快下载速度（例如Shanghai），之后的所有操作都是自动的。</p>
<p>例如，你可以通过下面方式来安装本书中用到的R软件包：</p>
<div class="sourceCode" id="cb15"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb15-1"><a href="如何开始.html#cb15-1" tabindex="-1"></a><span class="fu">install.packages</span>(<span class="st">&quot;ggplot2&quot;</span>)</span></code></pre></div>
<p>例如，本书中会用到的数据都包含在pes包中，你可以运行下面代码安装。</p>
<p>有时候，由于网络环境等因素，很多需要安装的包或依赖包无法正确安装，这时候可以用下面几个办法解决：</p>
<ol style="list-style-type: decimal">
<li><p>到网络环境更好的地方，重新执行安装命令；这是最方便的安装方式，因为该包依赖的包也都会一并安装好。</p></li>
<li><p>用下载软件，把需要安装的R包直接下载到本地，然后通过本地安装的方式安装R包。这时，请注意R包网页上给出的依赖包，请确保这些依赖包也都安装完毕，才能正确加载该包。</p></li>
</ol>
</div>
</div>
<div id="安装其他功能" class="section level2 hasAnchor" number="2.8">
<h2><span class="header-section-number">2.8</span> 安装其他功能<a href="如何开始.html#安装其他功能" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<div id="版本控制软件" class="section level3 hasAnchor" number="2.8.1">
<h3><span class="header-section-number">2.8.1</span> 版本控制软件<a href="如何开始.html#版本控制软件" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>在后续的真实研究数据分析中，我们经常需要编写大量代码，并且可能会产生多个版本。那么，如何有效地管理这些不同版本的代码呢？当突然需要回溯到某个时间点的代码版本时，我们又该如何应对？</p>
<p>这时候，Git（或其他版本控制系统）就派上了用场。无论是编写R代码还是其他任何类型的代码，使用Git都能带来诸多益处：</p>
<ul>
<li>版本控制：Git能够让你追踪和管理代码的变更历程。你可以轻松地回溯到先前的版本，或者对比不同版本间的差异，这在调试或理解代码变更对项目结果的影响时至关重要。</li>
<li>备份与恢复：通过Git，你的代码会在每次提交后存储在远程仓库中，相当于为你的工作提供了自动备份。若本地代码不慎丢失或损坏，你可轻松从远程仓库恢复。</li>
<li>文档记录与审计：Git详细记录了每次代码更改的信息，如更改内容、更改人、更改时间以及更改原因（通过提交注释）。这为项目的审计和文档制作提供了宝贵的资料。</li>
<li>团队协作：Git促进了多人同时在同一项目上的无缝协作。利用分支和合并机制，团队成员能各自独立工作，随后再将更改合并，实现高效协作。</li>
</ul>
<p>综上所述，Git不仅是一个强大的版本管理工具，它还能确保代码质量，提供有效的代码备份与恢复机制，同时增进团队协作效率。因此，在编写R代码或任何其他编程语言时，采用Git无疑是一个明智的选择。</p>
<div id="安装git" class="section level4 hasAnchor" number="2.8.1.1">
<h4><span class="header-section-number">2.8.1.1</span> 安装git<a href="如何开始.html#安装git" class="anchor-section" aria-label="Anchor link to header"></a></h4>
<p>在Windows上安装Git的步骤如下：</p>
<ol style="list-style-type: decimal">
<li><p>下载Git安装包：
访问Git官方网站（<a href="https://git-scm.com/downloads）或Git" class="uri">https://git-scm.com/downloads）或Git</a> for Windows网站（<a href="https://gitforwindows.org/" class="uri">https://gitforwindows.org/</a>），找到并点击“Downloads”或“下载”按钮。
选择适合你操作系统的版本进行下载，对于Windows系统，通常会下载一个名为Git-x.x.x.x-x64.exe（x为版本号）的安装程序。</p></li>
<li><p>运行安装程序：
找到下载的安装包，双击运行。
可能会弹出用户账户控制（UAC）提示，点击“是”以继续。</p></li>
<li><p>选择安装选项：
在安装过程中，你可以根据自己的需求选择安装目录、组件等。
选择是否创建桌面快捷方式，是否添加Git Bash到Windows终端等。
选择Git的安装选项，例如“仅从Git Bash使用Git”，“从命令行以及第三方软件启用Git”，或“从命令提示符使用Git和可选的Unix工具”。对于大多数用户，“从命令行以及第三方软件启用Git”是一个安全且方便的选择。
选择行尾符号转换规则，对于跨平台项目，“Checkout Windows-style, commit Unix-style”是推荐选项。
选择默认的终端模拟器，可以选择使用MinTTY或Windows的默认控制台窗口。</p></li>
<li><p>完成安装：
点击“Install”按钮开始安装。
安装完成后，点击“Finish”按钮退出安装程序。</p></li>
<li><p>验证安装：
安装完成后，你可以在命令提示符或Git Bash中输入git –version命令来验证Git的安装情况。如果成功安装，将会显示Git的版本号。</p></li>
</ol>
<p>通过以上步骤，你应该能够在Windows系统上成功安装Git。安装完成后，你可以开始使用Git来进行版本控制和协作开发了。</p>
<p>初次使用git时，需要配置email和name，否则无法提交修改。这种设置可以通过在Terminal中，执行下面两个命令进行：</p>
<p>git config –global user.email “<a href="mailto:you@example.com" class="email">you@example.com</a>”
git config –global user.name “you name”</p>
<p>请用你自己的email和自己喜欢的用户名（最好用英文），替换上述命令中引号部分的内容。</p>
</div>
<div id="在rstudio中配置和使用git" class="section level4 hasAnchor" number="2.8.1.2">
<h4><span class="header-section-number">2.8.1.2</span> 在Rstudio中配置和使用git<a href="如何开始.html#在rstudio中配置和使用git" class="anchor-section" aria-label="Anchor link to header"></a></h4>
<p>如果你使用Rstudio，那么该工具依据集成了git工具栏，你可以很方便的在Rstudio中使用git。</p>
<p>在RStudio中使用Git来管理R代码版本，我们假设你依据依据上述步骤安装了git，接下来可以按照以下步骤进行：</p>
<ol style="list-style-type: decimal">
<li>配置Git：
<ul>
<li>如果你首次在Rstudio中使用git，在RStudio中进行Git的配置。点击菜单中的“工具”(Tools)，然后选择“全局选项”(Global Options)。</li>
<li>在弹出的对话框中，点击“Git/SVN”选项卡。在这里，需要指定Git可执行文件的路径。通常情况下，Git在安装时会自动添加到系统的路径中，但如果找不到路径，可以手动指定。</li>
</ul></li>
<li>初始化Git项目：
<ul>
<li>在RStudio的工作区中，点击“新建项目”按钮，并选择“版本控制”选项，然后选择“Git”作为版本控制系统。</li>
<li>在弹出的对话框中，选择项目文件夹并点击“创建”。这会在选定的文件夹中初始化一个新的Git仓库。</li>
</ul></li>
<li>Git操作：
<ul>
<li>使用RStudio的Git面板来进行Git操作。点击右上角的“Git”标签，可以看到当前项目的Git状态和提交历史。</li>
<li>在Git面板中，可以看到已经修改的文件（以红色表示）和已经添加到暂存区的文件（以绿色表示）。选择要提交的文件，输入提交信息，并点击“提交”按钮来提交更改。</li>
</ul></li>
<li>推送到远程仓库：
<ul>
<li>如果有远程仓库（例如在GitHub、GitLab或Bitbucket上），可以将本地的更改推送到远程仓库。点击Git面板中的“推送”按钮，将更改推送到远程仓库，并与团队成员共享。</li>
</ul></li>
<li>更新本地仓库：
<ul>
<li>如果团队中的其他成员对远程仓库进行了更改，可以通过点击Git面板中的“拉取”按钮来更新本地仓库。</li>
</ul></li>
<li>解决冲突：
<ul>
<li>如果多个团队成员修改了同一个文件并进行了推送，可能会出现冲突。在这种情况下，可以使用RStudio的Git面板来解决冲突，并将更改重新推送到远程仓库。</li>
</ul></li>
</ol>
<p>总的来说，使用RStudio进行Git操作需要安装和配置Git，初始化项目，使用Git面板进行文件的提交、推送和拉取等操作，以及解决可能出现的冲突。这些操作可以帮助你更好地跟踪和管理R代码的变更，并与团队成员协作。</p>
</div>
</div>
<div id="编写r软件包的辅助工具" class="section level3 hasAnchor" number="2.8.2">
<h3><span class="header-section-number">2.8.2</span> 编写R软件包的辅助工具<a href="如何开始.html#编写r软件包的辅助工具" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>如果你想自己编写一个R软件包，并且包含了需要编译的其他语言代码（如c语言代码），那么你至少需要安装一个编译环境。Rtools是Windows环境下，在R环境中编译C/C++代码不可或缺的工具集。它为用户提供了必要的编译工具和库，以支持涉及C/C++代码的R包的构建、安装以及自定义代码的开发。安装Rtools有多个重要理由：它能帮助用户直接从源码编译和安装依赖C/C++的R包，确保用户能够访问到最新的功能和最佳的兼容性；对于自定义R包开发者而言，Rtools是开发过程中的关键助力，能保障自定义包与R环境的顺畅集成；此外，通过Rtools，用户还能轻松调用外部C/C++库，从而在R中拓展更多功能，如图像处理或机器学习等；最后，Rtools还配备了调试和分析工具，帮助用户精准识别和解决C/C++代码中的性能瓶颈或错误。总的来说，Rtools是Windows上R用户不可或缺的工具，它打通了R与C/C++的桥梁，为用户提供了更为强大和灵活的数据分析环境。</p>
<p>安装Rtools的步骤如下：</p>
<ol style="list-style-type: decimal">
<li><p>访问Rtools官方网站：
首先，需要访问Rtools的官方网站，网址为：<a href="https://cran.r-project.org/bin/windows/Rtools/" class="uri">https://cran.r-project.org/bin/windows/Rtools/</a>。 在这个网站上，可以找到适用于不同R版本的Rtools安装程序。</p></li>
<li><p>选择与R版本兼容的Rtools：
在下载页面上，务必选择与您当前安装的R版本兼容的Rtools版本。这是确保Rtools能够正常工作的关键。</p></li>
<li><p>下载并安装Rtools：
点击下载链接，将Rtools安装程序下载到本地。下载完成后，双击安装程序开始安装。在安装过程中，可以根据自己的需求选择安装的组件和安装位置。</p></li>
<li><p>配置环境变量（如需要）：
安装完成后，可能需要将Rtools的路径添加到系统的环境变量中。这样做可以确保R语言能够正确找到Rtools相关的命令和库。具体步骤包括打开控制面板，进入系统和安全设置，然后选择系统高级设置，点击环境变量，在系统变量中找到Path变量并进行编辑，将Rtools的安装路径添加到其中。</p></li>
<li><p>验证安装：
安装完成后，可以在R语言环境中输入相关命令来检查Rtools是否安装成功。如果输出显示Rtools的路径信息，则说明安装成功。</p></li>
</ol>
<p>另外，还有一种简便的安装方法，即通过R语言中的installr包来自动安装Rtools。具体代码如下：</p>
<div class="sourceCode" id="cb16"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb16-1"><a href="如何开始.html#cb16-1" tabindex="-1"></a><span class="fu">install.packages</span>(<span class="st">&quot;installr&quot;</span>)</span>
<span id="cb16-2"><a href="如何开始.html#cb16-2" tabindex="-1"></a><span class="fu">library</span>(installr)</span>
<span id="cb16-3"><a href="如何开始.html#cb16-3" tabindex="-1"></a><span class="fu">install.Rtools</span>()</span></code></pre></div>
<p>这种方法无需手动配置环境变量，安装后可直接使用。</p>
<p>请注意，安装Rtools可能需要管理员权限。如果在安装过程中遇到任何问题，请尝试以管理员身份运行安装程序，并遵循提示进行操作。</p>
</div>
</div>
<div id="获取本书资料" class="section level2 hasAnchor" number="2.9">
<h2><span class="header-section-number">2.9</span> 获取本书资料<a href="如何开始.html#获取本书资料" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>本书的所有资料都公开在https://gitee.com/gcshen/principle-of-ecological-statistics/。只要你用网页浏览器，输入上述地址，你就能看到本书的git在线仓库。</p>
<div class="figure" style="text-align: center"><span style="display:block;" id="fig:onlinesite"></span>
<img src="_figures/online%20site.png" alt="本书的在线资料库" width="700px" />
<p class="caption">
图 2.1: 本书的在线资料库
</p>
</div>
<div id="仅查看本书资料" class="section level3 hasAnchor" number="2.9.1">
<h3><span class="header-section-number">2.9.1</span> 仅查看本书资料<a href="如何开始.html#仅查看本书资料" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>如果你只想查看本书的相关资料，那么仅需要依次点击上述页面，右上角克隆/下载-&gt;下载zip。下载完成之后，在本地解压后打开_book目录下的index.html文件，你就能够顺利浏览本书中的所有内容。</p>
<p>但是这样方式的缺点是，很多书本内容的动态更新就无法看到。本地资料中都是在你下载时已经固定，不会再有更新。除非过一段时间后重新再下载该资料库。</p>
</div>
<div id="查看和修改本书资料" class="section level3 hasAnchor" number="2.9.2">
<h3><span class="header-section-number">2.9.2</span> 查看和修改本书资料<a href="如何开始.html#查看和修改本书资料" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>另外一种方式就是通过git的方式，fork一份本书资料到你自己的gitee账户，然后通过本地的git命令下载到本地后，便可查看和修改本书资料。如果你觉得某些修改也需要发送给我，那么你可以在gitee网上，通过发送Pull request来提交修改。</p>
<p>具体步骤如下：</p>
<ol style="list-style-type: decimal">
<li>你需要一个gitee的账户，请通过https://www.gitee.com 官网注册。</li>
<li>打开浏览器，访问https://gitee.com/gcshen/principle-of-ecological-statistics/， 点击右上角的fork按钮，完成fork。此时，在你自己账户仓库下，会多出一个principle-of-ecological-statistics仓库。这是一个你拥有完整权限的仓库，具体地址应为https://gitee.com/xxx/principle-of-ecological-statistics.git。其中xxx为你gitee网站的用户名。</li>
<li>在完成gitee和Rstudio安装和配置之后，就可以克隆上述fork的远程仓库到本地进行查看和修改。</li>
</ol>
<ul>
<li>首先需要复制一个你fork之后仓库地址。点击下载/克隆-&gt;复制https地址。</li>
<li>在Rstudio的Terminal中，首先进入你想要放置远程仓库的目录，一般用cd命令即可。</li>
<li>输入git clone <a href="https://gitee.com/xxx/principle-of-ecological-statistics.git" class="uri">https://gitee.com/xxx/principle-of-ecological-statistics.git</a>， 注意替换其中的xxx。</li>
<li>进入principle-of-ecological-statistics目录，点击其_book文件夹下的index.html按钮，就可以查看本书所有资料</li>
<li>如果要修改本书相关资料，则需打开本书的项目文件。即点击principle-of-ecological-statistics目录下的note.Rproj文件，便可打开相应的Rstudio工程。随后就可以在Rstudio中修改相应的Rmd文件。</li>
</ul>
<ol start="4" style="list-style-type: decimal">
<li>本地提交修改，远程同步修改。</li>
</ol>
<ul>
<li>当你完成修改之后，先点击Rstudio工具栏中的保存现有文档按钮。但这只是在工程目录下保存了文件，没有提交到本地的git仓库中。</li>
<li>打开Rstudio右上角的git面板，选择要提交修改的文件，然后点击commit按钮，会跳出commit界面，在commit message中填入有关本次修改的必要信息，然后点击commit按钮。若在新出现的界面上没有出现错误信息，表面已经将本次修改提交到该项目的本地git仓储中。至此，我们的修改已经被git软件记录，后续可以执行任何git的操作（如回退等）。</li>
<li>如果要将本地git仓库的信息推送到gitee网站上的远程仓库，则需要点击Rstudio的git面板上的Push按钮。如果推送成功，你就可以在gitee网页的远程仓库页面中看到自己刚才的提交信息，以及相应的文件。</li>
</ul>
<ol start="5" style="list-style-type: decimal">
<li>提交修改申请。迄今为止，你所有的操作仅能影响你之前fork之后自己的远程仓库。如果你想将这些修改提交到老师这里，则需要提交Pull Request。</li>
</ol>

</div>
</div>
</div>
            </section>

          </div>
        </div>
      </div>
<a href="index.html" class="navigation navigation-prev " aria-label="Previous page"><i class="fa fa-angle-left"></i></a>
<a href="r语言基础.html" class="navigation navigation-next " aria-label="Next page"><i class="fa fa-angle-right"></i></a>
    </div>
  </div>
<script src="libs/gitbook-2.6.7/js/app.min.js"></script>
<script src="libs/gitbook-2.6.7/js/clipboard.min.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-search.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-sharing.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-fontsettings.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-bookdown.js"></script>
<script src="libs/gitbook-2.6.7/js/jquery.highlight.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-clipboard.js"></script>
<script>
gitbook.require(["gitbook"], function(gitbook) {
gitbook.start({
"sharing": {
"github": false,
"facebook": true,
"twitter": true,
"linkedin": false,
"weibo": false,
"instapaper": false,
"vk": false,
"whatsapp": false,
"all": ["facebook", "twitter", "linkedin", "weibo", "instapaper"]
},
"fontsettings": {
"theme": "white",
"family": "sans",
"size": 2
},
"edit": {
"link": "https://github.com/USERNAME/REPO/edit/BRANCH/01-getting_started.Rmd",
"text": "编辑"
},
"history": {
"link": null,
"text": null
},
"view": {
"link": null,
"text": null
},
"download": ["_main.epub"],
"search": {
"engine": "fuse",
"options": null
},
"toc": {
"collapse": "subsection"
}
});
});
</script>

<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
  (function () {
    var script = document.createElement("script");
    script.type = "text/javascript";
    var src = "true";
    if (src === "" || src === "true") src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/latest.js?config=TeX-MML-AM_CHTML";
    if (location.protocol !== "file:")
      if (/^https?:/.test(src))
        src = src.replace(/^https?:/, '');
    script.src = src;
    document.getElementsByTagName("head")[0].appendChild(script);
  })();
</script>
</body>

</html>
